﻿namespace MicroCloud.Identity.Dtos
{
    /// <summary>
    /// 组织机构节点
    /// </summary>
    [MapFrom(typeof(Organization))]
    public class OrganizationNodeSimple : IOutputDto
    {
        #region "属性"
        #region "获取或设置 组织机构编号"
        /// <summary>
        /// 获取或设置 组织机构编号
        /// </summary>
        public long Id { get; set; }
        #endregion

        /// <summary>
        /// 获取或设置 组织机构编码
        /// </summary>
        [DisplayName("组织机构编码")]
        public string Code { get; set; }

        #region "获取或设置 组织机构类型"
        /// <summary>
        /// 获取或设置 组织机构类型
        /// </summary>
        public OrganizationType Type { get; set; }
        #endregion
        #region "获取或设置 组织机构名称"
        /// <summary>
        /// 获取或设置 组织机构名称
        /// </summary>
        public string Name { get; set; }
        #endregion
        #region "获取或设置 组织机构描述"
        /// <summary>
        /// 获取或设置 组织机构描述
        /// </summary>
        [DisplayName("组织机构描述")]
        public string Description { get; set; }
        #endregion

        #region "获取或设置 顺序编号"
        /// <summary>
        /// 获取或设置 顺序编号
        /// </summary>
        public decimal OrderNo { get; set; }
        #endregion
        #region "获取或设置 节点树形路径"
        /// <summary>
        /// 获取或设置 节点树形路径
        /// <para>树链Id根据一定格式构建的字符串，形如："$1$,$3$,$4$,$7$"，编辑时更新。</para>
        /// </summary>
        public string TreePathString { get; set; }
        #endregion
        #region "获取或设置 父组织机构编号"
        /// <summary>
        /// 获取或设置 父组织机构编号
        /// </summary>
        public long? ParentId { get; set; }
        #endregion

        #region "获取或设置 启用登陆"
        /// <summary>
        /// 获取或设置 启用登陆
        /// </summary>
        public bool EnableLogin { set; get; }
        #endregion

        #region "获取或设置 是否锁定"
        /// <summary>
        /// 获取或设置 是否锁定
        /// </summary>
        public bool IsLocked { get; set; }
        #endregion

        #region "获取或设置 是否选中"
        /// <summary>
        /// 获取或设置 是否选中
        /// </summary>
        public bool IsChecked { get; set; }
        #endregion

        #endregion

    }

}
